// components/count-down/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    time: {
      type: Number,
      value: 60
    },
    useSlot: Boolean
  },

  /**
   * 组件的初始数据
   */
  data: {

  },
  lifetimes: {
    attached() {
      // 组件只要已出现就应该开启倒计时
      this.countDownStart()
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    countDownStart() {
      let timer = null
      if (this.data.time === 0) return clearTimeout(timer)
      // time数据每次都应该 - 1
      this.setData({
        time: this.data.time - 1
      })
      // bind方法 返回一个新函数  修改this指向
      timer = setTimeout(this.countDownStart.bind(this), 1000)
      // 通知父组件  类似 this.$emit
      this.triggerEvent('change', this.data.time)
    }
  }
})
